package cn.com.generaldata.os.ws.intf;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;

import cn.com.generaldata.os.vo.IndustryVO;
import cn.com.generaldata.os.vo.ResultVO;

@WebService
public interface IndustryWSInterface {

	/**
	 * @function 按代码查询行业
	 * @param industry
	 * @return 主键
	 */
	@WebMethod
	ResultVO<IndustryVO> queryIndustry(String industryName, String code, Integer pageNum);

	/**
	 * @function 创建专业
	 * @param industry
	 * @return 主键
	 */
	@WebMethod
	String createIndustry(IndustryVO industry);

	/**
	 * @function 查询只是大类的行业（行业报表组）
	 * @param industry
	 * @return 主键
	 */
	@WebMethod
	ResultVO<IndustryVO> queryDLIndustries(String industryName, String typeId, Integer pageNum);

	/**
	 * @function 查询只是大类的行业（行业报表组）
	 * @param industry
	 * @return 主键
	 */
	@WebMethod
	ResultVO<IndustryVO> queryAllDLIndustries();

	/**
	 * @function 更新专业
	 * @param industry
	 * @return 更新后的专业
	 */
	@WebMethod
	IndustryVO modifyIndustry(IndustryVO industry, String[] modifyIndustry);

	/**
	 * @function 根据主键查询专业
	 * @param id
	 * @return
	 */
	@WebMethod
	IndustryVO queryIndustryById(String id);

	/**
	 * @function 根据查询条件查询专业
	 * @param industryName
	 *            查询条件：专业名称
	 * @param pageNum
	 *            页码
	 * @return
	 */
	@WebMethod
	ResultVO<IndustryVO> queryIndustries(String industryName, String typeId, Integer pageNum);

	/**
	 * @function queryAllIndustries
	 * @return
	 */
	@WebMethod
	List<IndustryVO> queryAllIndustries();

	@WebMethod
	List<IndustryVO> queryIndustriesByTypeId(String typeId);

	/**
	 * @function 根据用户ID查询该用户能够访问的ReportType
	 * @param userId
	 * @return
	 */
	@WebMethod
	List<IndustryVO> queryIndustriesByUserId(String userId);

	/**
	 * @function 删除专业
	 * @param ids
	 * @return
	 */
	@WebMethod
	void removeIndustries(List<String> ids);

	List<IndustryVO> queryIndustriesByName(String name);

}
